题目链接
有一座长 h,宽 w 的四面环海小岛,岛上各个位置相对海平面的海拔为 Aij。试考虑当海平面升高 k=1,2,⋯,Y 时,该岛仍然露出海平面的面积。
一个地块的状态变化依照“不临海 -> 临海 -> 被淹没”单向变化,不可能逆转。
考虑 bfs,但不同之处是我们用一个优先队列维护所有临海地块的海拔。遍历海平面高度 1,2,⋯,Y,考虑队列中所有临海的地块是否会淹没,若淹没,计入答案,并将与之相邻的所有地块加入队列中。由于一个地块一旦被淹没就不会重新露出,因此每个地块最多只会进入队列一次,总的时间复杂度为 O(nlogn),其中 n=h×w。
bfs
见提交记录。